package com.lxmes.sales.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 合同创建与审批对象 nc_contract_creation_approval
 *
 * @author lx
 * @date 2023-06-06
 */
@Data
@ApiModel(value = "NcContractCreationApproval", description = "合同创建与审批对象")
public class NcContractCreationApproval extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String factoryName;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String factoryCode;

    /** 合同版本编号 */
    @Excel(name = "合同版本编号")
    @ApiModelProperty("合同版本编号")
    private String contractVersionNumber;

    /** 甲方 */
    @Excel(name = "甲方")
    @ApiModelProperty("甲方")
    private String partyA;

    /** 甲方法定代表人 */
    @Excel(name = "甲方法定代表人")
    @ApiModelProperty("甲方法定代表人")
    private String legalRepresentativeOfPartyA;

    /** 甲方委托代理人 */
    @Excel(name = "甲方委托代理人")
    @ApiModelProperty("甲方委托代理人")
    private String authorizedAgentOfPartyA;

    /** 甲方电话 */
    @Excel(name = "甲方电话")
    @ApiModelProperty("甲方电话")
    private String partyAPhone;

    /** 乙方 */
    @Excel(name = "乙方")
    @ApiModelProperty("乙方")
    private String partyB;

    /** 乙方代码 */
    @Excel(name = "乙方代码")
    @ApiModelProperty("乙方代码")
    private String partyBCode;

    /** 乙方法定代表人 */
    @Excel(name = "乙方法定代表人")
    @ApiModelProperty("乙方法定代表人")
    private String legalRepresentativeOfPartyB;

    /** 乙方委托代理人 */
    @Excel(name = "乙方委托代理人")
    @ApiModelProperty("乙方委托代理人")
    private String authorizedAgentOfPartyB;

    /** 乙方电话 */
    @Excel(name = "乙方电话")
    @ApiModelProperty("乙方电话")
    private String partyBPhone;

    /** 签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签订日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("签订日期")
    private Date signingDate;

    /** 合同编号 */
    @Excel(name = "合同编号")
    @ApiModelProperty("合同编号")
    private String contractNumber;

    /** 项目主体 */
    @Excel(name = "项目主体")
    @ApiModelProperty("项目主体")
    private String projectSubject;

    /** 物料子号 */
    @Excel(name = "物料子号")
    @ApiModelProperty("物料子号")
    private String materialSubcode;

    /** 物料分类 */
    @Excel(name = "物料分类")
    @ApiModelProperty("物料分类")
    private String materialCategory;

    /** 物料大类 */
    @Excel(name = "物料大类")
    @ApiModelProperty("物料大类")
    private String materialClass;

    /** 物料号 */
    @Excel(name = "物料号")
    @ApiModelProperty("物料号")
    private String materialNumber;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @ApiModelProperty("规格型号")
    private String specification;

    /** 计划类型 */
    @Excel(name = "计划类型")
    @ApiModelProperty("计划类型")
    private String planType;

    /** 计划编号 */
    @Excel(name = "计划编号")
    @ApiModelProperty("计划编号")
    private String planNumber;

    /** 采购数量 */
    @Excel(name = "采购数量")
    @ApiModelProperty("采购数量")
    private Long purchaseQuantity;

    /** 不含税单价 */
    @Excel(name = "不含税单价")
    @ApiModelProperty("不含税单价")
    private BigDecimal unitPriceExcludingTax;

    /** 不含税金额 */
    @Excel(name = "不含税金额")
    @ApiModelProperty("不含税金额")
    private BigDecimal amountExcludingTax;

    /** 说明 */
    @Excel(name = "说明")
    @ApiModelProperty("说明")
    private String description;

    /** 税率 */
    @Excel(name = "税率")
    @ApiModelProperty("税率")
    private BigDecimal taxRate;

    /** 含税金额 */
    @Excel(name = "含税金额")
    @ApiModelProperty("含税金额")
    private BigDecimal amountIncludingTax;

    /** 含税合计金额 */
    @Excel(name = "含税合计金额")
    @ApiModelProperty("含税合计金额")
    private BigDecimal totalAmountIncludingTax;

    /** 含税合计金额大写 */
    @Excel(name = "含税合计金额大写")
    @ApiModelProperty("含税合计金额大写")
    private String totalAmountIncludingTaxInWords;

    /** 采购日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("采购日期")
    private Date purchaseDate;

    /** 交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("交货日期")
    private Date deliveryDate;

    /** 合同期限 */
    @Excel(name = "合同期限")
    @ApiModelProperty("合同期限")
    private Long contractDuration;

    /** 付款条件 */
    @Excel(name = "付款条件")
    @ApiModelProperty("付款条件")
    private String paymentTerms;

    /** 付款方式 */
    @Excel(name = "付款方式")
    @ApiModelProperty("付款方式")
    private String paymentMethod;

    /** 发票开具 */
    @Excel(name = "发票开具")
    @ApiModelProperty("发票开具")
    private String invoiceIssuance;

    /** 服务范围 */
    @Excel(name = "服务范围")
    @ApiModelProperty("服务范围")
    private String serviceScope;

    /** 服务要求 */
    @Excel(name = "服务要求")
    @ApiModelProperty("服务要求")
    private String serviceRequirements;

    /** 双方职责 */
    @Excel(name = "双方职责")
    @ApiModelProperty("双方职责")
    private String responsibilitiesOfBothParties;

    /** 甲方权利义务 */
    @Excel(name = "甲方权利义务")
    @ApiModelProperty("甲方权利义务")
    private String rightsAndObligationsOfPartyA;

    /** 乙方权利义务 */
    @Excel(name = "乙方权利义务")
    @ApiModelProperty("乙方权利义务")
    private String rightsAndObligationsOfPartyB;

    /** 质量要求 */
    @Excel(name = "质量要求")
    @ApiModelProperty("质量要求")
    private String qualityRequirements;

    /** 验收标准 */
    @Excel(name = "验收标准")
    @ApiModelProperty("验收标准")
    private String acceptanceCriteria;

    /** 质保期 */
    @Excel(name = "质保期")
    @ApiModelProperty("质保期")
    private String warrantyPeriod;

    /** 知识产权 */
    @Excel(name = "知识产权")
    @ApiModelProperty("知识产权")
    private String intellectualPropertyRights;

    /** 保密条款 */
    @Excel(name = "保密条款")
    @ApiModelProperty("保密条款")
    private String confidentialityClause;

    /** 违约责任 */
    @Excel(name = "违约责任")
    @ApiModelProperty("违约责任")
    private String breachOfContractLiability;

    /** 合同规则 */
    @Excel(name = "合同规则")
    @ApiModelProperty("合同规则")
    private String contractRules;

    /** 不可抗力 */
    @Excel(name = "不可抗力")
    @ApiModelProperty("不可抗力")
    private String forceMajeure;

    /** 其他 */
    @Excel(name = "其他")
    @ApiModelProperty("其他")
    private String other;




}
